package com.smartcampusbackend.service;

import com.smartcampusbackend.model.Announcement;
import java.util.List;
import java.util.Map;

public interface AnnouncementService {
    int publishAnnouncement(Announcement announcement);
    Announcement getAnnouncementById(Integer id);
    List<Announcement> getAnnouncements(String type, String publisher);
    List<Announcement> getAnnouncements(String type, String publisher, String keyword, Integer page, Integer size);
    int getAnnouncementsCount(String type, String publisher, String keyword);
    int updateActivityStatus(Integer id, String status);
    void checkAndUpdateActivityStatus(Integer activityId);
    // 带阅读状态的公告列表
    List<Map<String, Object>> getAnnouncementsWithReadStatus(String type, String publisher, Integer userId);
    List<Map<String, Object>> getAnnouncementsWithReadStatus(String type, String publisher, Integer userId, String keyword, Integer page, Integer size);
    Announcement getAnnouncementWithReadStatus(Integer id, Integer userId);
    // 删除公告
    int deleteAnnouncement(Integer id, String publisher);
    // 草稿相关方法
    int saveDraft(Announcement announcement);
    int updateDraft(Announcement announcement);
    List<Announcement> getDrafts(String publisher, String type);
    int publishDraft(Integer id, String publisher);
    int deleteDraft(Integer id, String publisher);
} 